<?php
/**
 * Interface for XJConf Extensions
 * 
 * @author  Stephan Schmidt <stephan.schmidt@schlund.de>
 */
/**
 * Interface for XJConf Extensions
 * 
 * @package     XJConf
 * @subpackage  ext
 */
interface Extension
{
	/**
	 * Get the namespace URI used by the extension
	 * 
	 * @return  string
	 */
    public function getNamespace();
    
    /**
     * Process a start element
     * 
     * @param  XmlParser  $parser
     * @param  Tag        $tag
     * @throws XJConfException
     */
    public function startElement(XmlParser $parser, Tag $tag);

    /**
     * Process the end element
     * 
     * @param   XmlParser  $parser
     * @param   Tag        $tag
     * @throws  XJConfException
     */
    public function endElement(XmlParser $parser, Tag $tag);
}
?>